Date.prototype.format = function(fmt) {
var o = {
	"M+" : this.getMonth()+1, //月份
	"d+" : this.getDate(), //日
	"h+" : this.getHours(), //小时
	"m+" : this.getMinutes(), //分
	"s+" : this.getSeconds(), //秒
	"q+" : Math.floor((this.getMonth()+3)/3), //季度
	"S" : this.getMilliseconds() //毫秒
	};
	if(/(y+)/.test(fmt))
	fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
	for(var k in o)
	if(new RegExp("("+ k +")").test(fmt))
	fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
	return fmt;
}

function fmtMillsec(m, emptyIfNull){
	
	if (!emptyIfNull) {
		emptyIfNull = true;
	}
	
	if (emptyIfNull && m == null) {
		return '';
	}
	
	var d = new Date(m);
	return d.format('yyyy-MM-dd hh:mm:ss');
}

/**
 * 根据元素ID来赋值，
 */
function fillValById(url, type, data) {
	type = type || 'get';
	if(type == 'get') {
		data = data || {};
		$.getJSON(url, data, function(json) {
			if(json.code == 0) {
				var obj = json.obj;
				for(attr in obj) {
					var val = obj[attr];
					if(val != null) {
						$('#' + attr).text(val);
					} else {
						$('#' + attr).text('0');
					}
				}
			}
		});
	}
}

/**
 * 根据name填充表单内容
 * @param formId  待填充表单ID
 * @param obj 填充对象,该对象的属性将填充到和表单中name对应的元素上
 * @param dataType 类型定义,是一个对象,可选, 例如 {createTime:'datetime'}, 这样会将createTime字段以时间类型赋值
 * @returns
 */
function fillFormByName(formId, obj, dataType) {
	
	dataType = dataType || {};
	
	var $form = $('#' + formId);
	for(i in obj) {
		var vval = obj[i];
		if(vval != null) {
			var ele = $form.find('[name=\'' + i + '\']');
			
			var type = dataType[i];
			
			if (type == 'datetime') {
				var timeStr = fmtMillsec(vval);
				ele.val(timeStr);
			} else {
				let inputType = ele.attr('type');
				if ('radio' == inputType) {
					for (let j = 0; j < ele.length; j++) {
						if (vval == ele[j].value) {
							$(ele[j]).iCheck('check');
						}else{
							$(ele[j]).iCheck('uncheck');
						}
					}
				} else {
					ele.val(vval);
				}
			}
		}
	}
	return true;
}

function reFillFormByName(formId, obj) {
	$('#' + formId).find('[name]').each(function() {
		$(this).val('');
	});

	var $form = $('#' + formId);
	for(i in obj) {
		if(obj[i] != null && obj[i] !== '') {
			var ele = $form.find('[name=\'' + i + '\']');
			ele.val(obj[i]);
		}
	}
	return true;
}

/**
 * 清空表单，将所有表单项值设为空
 * @returns
 */
function clearForm(formId) {
	var $form = $('#' + formId);
	$form.find('input,select,textarea').each(function() {
		$(this).val('');
	});
	return true;
}

function fmtStr(val) {
	if(!val || val == null) {
		return '';
	}
	return val;
}
/**
 * 字符串模板
 * @returns
 */
function strTempl(){
	var args = arguments;
	return args[0].replace(/\{(\w+)\}/g, function(match, key){
		return args[parseInt(key)+1];
	});
}